home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / dev / src / wangisrc.lha / wangi / z / no0 / no0.c < prev    next >
C/C++ Source or Header  |  1996-03-24  |  1KB  |  56 lines

  1.  
  2. #include <exec/types.h>
  3. #include <dos/dos.h>
  4. #include <dos/rdargs.h>
  5.  
  6. /* Amiga prototypes and pragmas */
  7. #include <proto/dos.h>
  8. #include <proto/exec.h>
  9.  
  10. /***************************************************************************
  11.  * main() --
  12.  */
  13. int main(int argc, char **argv)
  14. {
  15.     struct RDArgs *rdargs;
  16.     LONG ret;
  17.     #define TEMPLATE "OUTBOUND"
  18.     #define OPT_OUTBOUND 0
  19.     STRPTR args[1] = {"OUTBOUND:"};
  20.     /* Parse the argument template */
  21.     if (rdargs = ReadArgs(TEMPLATE, (LONG *)&args, NULL))
  22.     {
  23.         BPTR lock;
  24.         if( lock = Lock(args[OPT_OUTBOUND],ACCESS_READ) )
  25.         {
  26.             struct FileInfoBlock *fib;
  27.             BPTR ocd = CurrentDir(lock);
  28.             if( fib = AllocDosObject(DOS_FIB, NULL) )
  29.             {
  30.                 if( Examine(lock, fib) && (fib->fib_DirEntryType > 0) )
  31.                 {
  32.                     LONG err;
  33.                     while( ExNext(lock, fib) )
  34.                     {
  35.                         if( (fib->fib_DirEntryType < 0) && (fib->fib_Size == 0) )
  36.                             if( !DeleteFile(fib->fib_FileName) )
  37.                                 PrintFault(IoErr(), fib->fib_FileName);
  38.                     }
  39.                     if( (err = IoErr()) != ERROR_NO_MORE_ENTRIES )
  40.                         PrintFault(err, "no0");
  41.                 }
  42.                 FreeDosObject(DOS_FIB, fib);
  43.             }
  44.             CurrentDir(ocd);
  45.             UnLock(lock);
  46.         }    
  47.         FreeArgs(rdargs);
  48.         ret = RETURN_OK;
  49.     } else
  50.         ret = RETURN_FAIL;
  51.     
  52.     if( ret )
  53.         PrintFault(IoErr(), "no0");
  54.  
  55.     return ret;
  56. }